package main

import (
	"giv-vue-blog/core"
	_ "giv-vue-blog/docs"
	"giv-vue-blog/flag"
	"giv-vue-blog/global"
	"giv-vue-blog/routers"
)

// @title gvb_server API文档
// @version 1.0
// @description gvb_server API文档
// @host 127.0.0.1:8080
// @BasePath /
func main() {
	//读取配置文件
	core.InitConf()
	//初始化日志
	global.Log = core.InitLogger()
	//连接数据库
	//global.DB = core.InitGorm()
	//连接地址数据库geoip2
	core.InitAddrDB()
	defer global.AddrDB.Close()
	//命令行参数绑定
	option := flag.Parse()
	if flag.IsWebStop(option) {
		flag.SwitchOption(option)
		return
	}
	//连接redis
	//global.Redis = core.ConnectRedis()
	//连接es
	//global.EsClient = core.EsConnect()
	//cron_ser.CronInit()
	//初始化路由
	router := routers.InitRouter()
	addr := global.Config.System.Addr()
	global.Log.Infof("gvb_server正在运行: %s", addr)
	err := router.Run(addr)
	if err != nil {
		global.Log.Fatalf(err.Error())
	}
}
